package config

import (
	"encoding/json"
	"log"
	"os"
)

var c *config

type config struct {
	Redis `json:"redis"`
}

type Redis struct {
	Host string `json:"host"`
	DB   int `json:"db"`
}

/**
 * 单例模式调用配置
 */
func Instance() *config {
	if c == nil {
		InitConfig()
	}
	return c
}

/**
 * 初始化配置
 */
func InitConfig() {
	file, _ := os.Open("./config.json") // 这里要注意，哪里调用的，路径就要以该路径作为相对路径起点
	defer file.Close()
	decoder := json.NewDecoder(file)
	if err := decoder.Decode(&c); err != nil {
		log.Fatal(err)
		return
	}
}
